<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>User Agent Class : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>CodeIgniter User Guide Version 2.0.3</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.com/">CodeIgniter Home</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">User Guide Home</a> &nbsp;&#8250;&nbsp;
User Agent Class
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="Go" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>User Agent Class</h1>

<p>User Agent 클래스의 함수들을 이용하시면 여러분의 사이트를 방문한사람이 브라우저인지, 모바일기기인지,로봇인지 구분하는 정보를 얻을 수 있습니다.
게다가, 참조 url 정보(referrer)와 언어 및 지원문자셋(character-set)정보도 얻을 수 있습니다.</p>

<h2>클래스 초기화 Initializing the Class</h2>

<p>다른 클래스들과 마찬가지로 User Agent 클래스도 컨트롤러에서 <dfn>$this->load->library</dfn> 함수를 통해 초기화 합니다:</p>

<code>$this->load->library('user_agent');</code>
<p>일단 로드되면 , <dfn>$this->agent  </dfn>으로 객체를 이용하실 수 있습니다.</p>

<h2>User Agent 정의 User Agent Definitions</h2>

<p>user agent 이름은 설정파일에 정의되어있으며 <dfn>application/config/user_agents.php</dfn> 에 위치합니다.  필요하다면 아이템을 추가하실수도 있습니다.</p>

<h2>예제 Example</h2>

<p>User Agent 클래스가 초기화되면 , 사이트방문자가 브라우저인지, 모바일기기인지, 로봇인지에대한 확인을 시도합니다. 또한, 플렛폼 정보도 모읍니다.</p>


<code>
$this->load->library('user_agent');<br />
<br />
if ($this->agent->is_browser())<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$agent  = $this->agent->browser().' '.$this->agent->version();<br />
}<br />
elseif ($this->agent->is_robot())<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$agent = $this->agent->robot();<br />
}<br />
elseif ($this->agent->is_mobile())<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$agent = $this->agent->mobile();<br />
}<br />
else<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$agent = 'Unidentified User Agent';<br />
}<br />
<br />
echo $agent;<br />
<br />
echo $this->agent->platform(); // 플렛폼정보 (Windows, Linux, Mac, etc.)
</code>


<h1>함수 참조 Function Reference</h1>


<h2>$this->agent->is_browser()</h2>
<p>user agent 가 알려진 웹브라우저인지 여부에 따라 TRUE/FALSE 를 리턴합니다.</p>
<code> if ($this->agent->is_browser('Safari'))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'You are using Safari.';<br />
}<br />
else if ($this->agent->is_browser())<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'You are using a browser.';<br />
  }</code> 
  <p class="important"><strong>주의:</strong>&nbsp; 이 예제에서 &quot;Safari&quot;라는 
    문자열은 브라우저 정의 목록 키 값입니다. 이 목록은 <dfn>application/config/user_agents.php</dfn> 
    에 정의되어 있으며 새 브라우저를 추가하거나 문자열을 변경할 수 있습니다.</p>

<h2>$this->agent->is_mobile()</h2>
<p>user agent 가 알려진 모바일기기인지 여부에 따라 TRUE/FALSE 를 리턴합니다.</p>
<code> if ($this->agent->is_mobile('iphone'))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->load->view('iphone/home');<br />
}<br />
else if ($this->agent->is_mobile())<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->load->view('mobile/home');<br />
}<br/>
else<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;$this->load->view('web/home');<br />
}</code>

<h2>$this->agent->is_robot()</h2>
<p>user agent 가 알려진 로봇인지 여부에 따라 TRUE/FALSE 를 리턴합니다.</p>

<p class="important"><strong>참고:</strong>&nbsp;  user agent라이브러리는 단지 가장많이 알려진 로봇정보만 가지고 있습니다.  완벽한 로봇목록이 아닙니다. 로봇은 수백종이 있으므로 각각을 모두 찾는것은 그다지 능률적이지 않습니다. 여러분의 사이트를 방문한 로봇이 리스트에 없다면 직접 <dfn>application/config/user_agents.php</dfn> 파일에 추가하실 수 있습니다.</p>

<h2>$this->agent->is_referral()</h2>
<p>user agent 가 다른 사이트에서 여러분의 사이트로 넘어왔는지 여부에 따라 TRUE/FALSE 를 리턴합니다.</p>


<h2>$this->agent->browser()</h2>
<p>여러분의 사이트를 보고있는 브라우저의 이름을 담은 문자열을 리턴합니다.</p>

<h2>$this->agent->version()</h2>
<p>여러분의 사이트를 보고있는 브라우저의 버전번호를 리턴합니다.</p>

<h2>$this->agent->mobile()</h2>
<p>여러분의 사이트를 보고있는 모바일기기의 이름을 리턴합니다.</p>

<h2>$this->agent->robot()</h2>
<p>여러분의 사이트를 보고있는 로봇의 이름을 리턴합니다.</p>

<h2>$this->agent->platform()</h2>
<p>여러분의 사이트를 보고있는 컴퓨터의 플렛폼을 리턴합니다(Linux, Windows, OS X, 등.).</p>

<h2>$this->agent->referrer()</h2>
<p>user agent 가 다른사이트를 통해 여러분의 사이트를 방문했다면 그 사이트를 리턴합니다. 일반적으로 다음코드를 통해 테스트할수 있습니다:</p>

<code> if ($this->agent->is_referral())<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo $this->agent->referrer();<br />
}</code>


<h2>$this->agent->agent_string()</h2>
<p>전체 user agent 문자열을 리턴합니다. 일반적으로 아래와같습니다:</p>

<code>Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.4) Gecko/20060613 Camino/1.0.2</code>


<h2>$this->agent->accept_lang()</h2>
<p>user agent 가 특정언어를 허용(accept)하는지를 확인합니다. 예:</p>

<code>if ($this->agent->accept_lang('en'))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'You accept English!';<br />
}</code>

<p class="important"><strong>참고:</strong> 이 함수의 신뢰성은 그렇게 높지않습니다. 왜냐하면 몇몇 브라우저는 언어정보를 제공하지않고, 또한 제공한다해도 항상 정확하지는 않기 때문입니다.</p>



<h2>$this->agent->accept_charset()</h2>
<p>user agent 가 특정문자셋(character set)를 허용(accept)하는지를 확인합니다. 예:</p>

<code>if ($this->agent->accept_charset('utf-8'))<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'You browser supports UTF-8!';<br />
}</code>

<p class="important"><strong>참고:</strong> 이 함수의 신뢰성은 그렇게 높지않습니다. 왜냐하면 몇몇 브라우저는 문자셋정보를 제공하지않고, 또한 제공한다해도 항상 정확하지는 않기 때문입니다.</p>



</div>
<div id="footer">
<p>
Previous Topic:&nbsp;&nbsp;<a href="uri.html">URI Class</a>
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
Next Topic:&nbsp;&nbsp;<a href="xmlrpc.html">XML-RPC Class</a>
</p>
<p><a href="http://codeigniter.com">CodeIgniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 - 2011 &nbsp;&middot;&nbsp; <a href="http://ellislab.com/">Ellislab, Inc.</a></p>
</div>

</body>
</html>